module Model exposing (..)
import Page2.Model as P2
import Page3.Model as P3
import Page4.Model as P4
import Page5.Model as P5
import Json.Decode as D

type alias Model_result = Result String Model

type alias Model =
    { page1 : Page1
    , page2 : P2.Page
    , page3 : P3.Page
    , page4 : P4.Page
    , page5 : P5.Model
    , global : Global
    }

type alias Page1 =
    { name : String
    , desc : String
    }


type alias Global = 
    { bg_img_url : String }


page1_decoder : D.Decoder Page1
page1_decoder =
    D.map2 Page1
      (D.field "name" D.string)
      (D.field "desc" D.string)

global_decoder : D.Decoder Global
global_decoder =
    D.map Global
      (D.field "bg_img_url" D.string)

model_decoder : D.Decoder Model
model_decoder =
    D.map6 Model
      (D.field "1" page1_decoder)
      (D.field "2" P2.decoder)
      (D.field "3" P3.decoder)
      (D.field "4" P4.decoder)
      (D.field "5" P5.decoder)
      (D.field "global" global_decoder)
      

mock_data : String
mock_data =
  """ 
  {
  "1": {
    "name": "Kobako",
    "desc": "热爱音符与生活的一介码农"
  },
  "2": {
    "title": "个人信息",
    "contact": {
      "title": "联系方式",
      "phone": "15390934692",
      "email": "zhuobinggang@gmail.com",
      "qq": "1031908624"
    },
    "detail": {
      "name": "卓秉纲",
      "school": "本科/电子科技大学中山学院/计算机系/软件工程",
      "exp": "在校做项目半年,实习半年,项目经验两个",
      "github": "https://github.com/zhuobinggang",
      "gitee": "https://gitee.com/kobako",
      "cnblog": "https://www.cnblogs.com/uturobako",
      "expect_job": "nodejs,java工程师"
    }
  },
  "3": {
    "title": "经验",
    "sub_title": "学习历程",
    "items": [
      {
        "title": "ACM省赛获奖",
        "content": "大一时通过ACM选拔赛进入ACM校队。大一下学期在中国大学生程序设计竞赛(广东赛区)中获得三等奖"
      },
      {
        "title": "项目经验",
        "content": "大二开始协助老师做项目。该项目是院长从广东海辰科技股份有限公司接手的一个智能门禁管理系统。 该系统由网站后台管理,手机端用户接口等部分组成。老师和我还有一个前辈三人小组负责网站后台管理部分 的全部工作。本人负责几乎所有的前端工作。熟悉项目后负责部分后端工作。该项目中用到的前端框架主要有：MVVM框架VUE,通用框架jQuery,表格显示用的jQuery插件DataTable,统计图表显示用的EChart和树形菜单jsTree,地图显示用的百度地图API。 另外还有一些根据需求在github寻找的插件,包括一个自制的客户端分页插件paginator.js后台使用的架构是spring + mysql + redis。 本人在后端部分主要负责一些controller和service层的逻辑实现。完成的工作包括输出Excel报表供用户下载，前后端联调等。"
      },
      {
        "title": "个人娱乐项目",
        "content": "利用空闲时间做过不少h5小游戏，上传在github.主要使用的游戏框架是phaser。在国内phaser社区较为活跃。是phaser小站的贡献者。"
      }
    ]
  },
  "4": {
    "title": "技能清单",
    "skills": [
      {
        "title": "技能",
        "items": [
          {
            "name": "NodeJs",
            "star": 4
          },
          {
            "name": "Java",
            "star": 4
          },
          {
            "name": "MySQL",
            "star": 3
          },
          {
            "name": "Vim",
            "star": 3
          },
          {
            "name": "Clojure",
            "star": 3
          },
          {
            "name": "Linux",
            "star": 2
          },
          {
            "name": "Git",
            "star": 2
          },
          {
            "name": "React",
            "star": 3
          }
        ]
      },
      {
        "title": "外语",
        "items": [
          {
            "name": "英语",
            "star": 3
          },
          {
            "name": "日语",
            "star": 3
          }
        ]
      }
    ]
  },
  "5": {
    "title": "项目",
    "items": [
      {
        "name": "Phaser游戏合集",
        "desc": "国内最大的phaser游戏合集项目，本人是贡献者之一。",
        "urls": [
          {
            "title": "贡献页",
            "url": "https://github.com/zhuobinggang/games/graphs/contributors"
          }
        ]
      },{
        "name": "个人简历",
        "desc": "就是这个网页，主要使用bootstrap和materialize框架制作。",
        "urls": [
          {
            "title": "码云链接",
            "url": "https://gitee.com/kobako/kobako-website-demo"
          }
        ]
      },{
        "name": "RPG",
        "desc": "使用phaser.js制作的一款RPG游戏，打怪升级，掉落道具，关卡模式。",
        "urls": [
          {
            "title": "Github地址",
            "url": "https://github.com/zhuobinggang/the-fuck-rpg"
          },{
            "title": "在线玩",
            "url": "https://zhuobinggang.github.io/the-fuck-rpg/"
          }
        ]
      },{
        "name": "杀死野比",
        "desc": "使用phaser制作的一款横版过关游戏，主要目标是杀死野比。",
        "urls": [
          {
            "title": "Github地址",
            "url": "https://github.com/zhuobinggang/kill-NoBi"
          },{
            "title": "在线玩",
            "url": "https://zhuobinggang.github.io/kill-NoBi/"
          }
        ]
      }
    ]
  },
  "global": {
    "bg_img_url": "http://kobako.gitee.io/kobako-website-demo/assets/kobako_bg_green-min.jpg"
  }
  
}
  """